

/*根据实际业务写逻辑*/
//写doGetObjects方法
//异步获取日志数据，地址为log/doFindPageObjects
function doGetObjects(){

	//开始默认的页码为1
	 var pageCurrent=$("#pageId").data("pageCurrent");//data(key)表示获取值
	 if(!pageCurrent)pageCurrent=1;//若pageCurrent为0，则直接赋值1
	 var data={"pageCurrent":pageCurrent}
	//获取当前的用户，也可能没有登录，为空
	 var uname = $("#searchNameId").val();
	 if(uname)data.username=uname;
//	$.ajax({
//		type:"get",//请求方式
//		url:"log/doFindPageObjects",//请求地址
//	 	dataType:"json", //获得返回的数据是json格式
//		data:data,//传递的数据
//		success:function(msg){ //回调函数
//			alert(msg);
//		}
//	});
	 //这里我们用getJSON，可以直接将数据转为json格式
	 $.getJSON("log/doFindPageObjects", data,function(jsonResult){
		 var data = jsonResult.data;
		  console.log(jsonResult);
		  if(jsonResult.state==1){//判断返回的状态，1为正常
			  //得到数据，展现出来
			  displayData(data.records);//显示数据
			  displayPagination(data);//显示分页的信息
		  }else{
			  displayError(jsonResult.message);//显示错误信息，不弹窗
		  }

	});
	 
}


/*
    显示数据displayData
    传入的参数为数组(List转为json后就是数组了)
*/
function displayData(records){
    //先清空原有的数据
    var tbody = $("#tbodyId");//获取表格父元素对象
    tbody.empty();
    //遍历数据，在tbody中插入数据
    for(var i =0;i<records.length;i++){
        var tr = 
       	 	"<tr>"+
       	 	"<td><input type='checkbox' class='cBox' value='"+records[i].id+"'></td>"+
                    "<td>"+records[i].username+"</td>"+
                    "<td>"+records[i].operation+"</td>"+
                    "<td>"+records[i].method+"</td>"+
                    "<td style='max-width:200px'>"+records[i].params+"</td>"+
                    "<td>"+records[i].ip+"</td>"+
                    "<td>"+records[i].time+"</td>"+
                 "</tr>";
        tbody.append(tr);
    }
}
function displayPagination(page){

    //1.始化数据

    $(".rowCount").html("总记录数("+page.rowCount+")");

    $(".pageCount").html("总页数("+page.pageCount+")");

    $(".pageCurrent").html("当前页("+page.pageCurrent+")");

    //2.绑定数据(为后续对此数据的使用提供服务)

    $("#pageId").data("pageCurrent",page.pageCurrent);

    $("#pageId").data("pageCount",page.pageCount);

}
/*
 * 显示错误信息
 */
function displayError(msg){
	var tbody = $("#tbodyId");//获取表格父元素对象
	tbody.empty();//先清空
	var error = "<tr>"+
					"<td colspan='7'>"+
					msg+
					"</td>"+
				"</tr>";
	tbody.append(error);
}


/*
 * 搜索框的按键，也是调用同一个查询接口，只需要将条件保存即可
 */
 function doQueryObjects(){
	 $("#pageId").data("pageCurrent",1);//直接设置页码为1
	 doGetObjects();
	 
 }
 /**
  * 删除按钮响应事件
  * @returns
  */
 function doDeleteObjects(){
	 //1.获取复选框的状态
	 var ids = doGetBoxArray();//返回存储了id的数组
	 if(ids.length<1){//没有数据
		 //在页面做提示
		 alert("请先选择要删除的内容");
		 return;
	 }

	  //3.给出提示，确定删除吗？
	  if(!confirm("确定删除吗"))return;
	  var params = {"ids":ids.toString()};//转化ids：x1,x2,x3...格式
	  $.post("/log/doDeleteObject",params,function(msg){
		  console.log(msg);
		  alert(msg.message);
		  if(msg.state==1){//说明成功
			  //提示，刷新页面
			  doRefreshPage();
		  }
	  });
/*	  $.ajax({
		  type:"post",
		  url:"/log/doDeleteObject",
		  data:params,
		  success:function(msg){
			  console.log(msg);
			  alert(msg.message);
			  if(msg.state==1){//说明成功
				  //提示，刷新页面
				  doRefreshPage();
			  }
		  }
	  });*/
 }
 
 /**
  * 删除数据后刷新页面
  * @returns
  */
 function doRefreshPage() {
	//刷新数据如果当前页是最后一页，也是不是第一页，同时全选状态时选定状态，就
	 //将页数往前移一位,不然会出错
	 var pageCount = $("#pageId").data("pageCount");//获取总页数
     var pageCurrent = $("#pageId").data("pageCurrent");//获取当前页码
     var flag = $("#checkAll").prop("checked");
     if(pageCount==pageCurrent && pageCurrent>1 && flag){
    	 pageCurrent--;
    	 $("#pageId").data("pageCurrent",pageCurrent);//存入
     } 
     doGetObjects();//查询
}
 /**
  * 获取各个复选框的状态,并返回存储了id的数组
  * @returns Arrays
  */
 function doGetBoxArray(){
	 var arr = [];
	//获取状态
	 //利用 $("#tbodyId input:checkbox:checked']"可以省去判断选中的步骤
	 $("#tbodyId input[type='checkbox']").each(function(){
		 if($(this).prop("checked")){
			 arr.push($(this).val());//直接存入
		 }
	 });
	 return arr;
 }
 /**
  * 全选框事件
  */
function doChangeTBodyCheckBoxState() {
	var flag = $("#checkAll").prop("checked");
	//给其他的复选框统一
	$("#tbodyId input[type='checkbox']").prop("checked",flag);
}
 
 /**
  * 各个复选框框事件
  */
function doChangeTHeadCheckBoxState(){
//1.只要满足一个复选框未被选中，则取消全选框选中状态
	//如果所有的复选框都被选中，那全选框也设置为选中状态
	$("#tbodyId input[type='checkbox']").each(function(){
		if(!$(this).prop("checked")){
			$("#checkAll").prop("checked",false);//取消全选
			return;//结束循环
		}else{//如果都选中了
			$("#checkAll").prop("checked",true);//全选
		}
	});
//	if(!$(this).prop("checked")){ //取消状态
//		$("#checkAll").prop("checked",false);//取消全选
//	}
}
